<?php
/*
Autor: Jonathan Vindas Abarca
Fecha: 23/08/2012
Descripción: Este archivo contiene la declaración de funciones para obtener datos de la tabla de embalajes
de la base de datos SQL Server.
Bitacora de modificaciones:
<
    Autor: 
    Fecha: 
    Descripción: 
>
*/

    /*Funcion para agregar Embalaje*/    
    function agregarEmbalaje($Codigo,$Tipo)
    {                
        require_once 'dataModelo.php';
        $conexion=conexion();        
        $insert="exec SP001AgregarEmbalaje '$Codigo','$Tipo'";
        //$insert="Insert into Embalajes (CodEmbalaje,Tipo) values('$Codigo','$Tipo')";        
        if (!odbc_exec($conexion,$insert))
        {
            die('Error: ' . odbc_error());
        }
        odbc_close($conexion);
    }
    
    /*Funcion para modificar Embalajes*/
    function modificarEmbalaje($Codigo,$Tipo)
    {        
        require_once 'dataModelo.php';
        $conexion=conexion();
        $update="exec SP002ModificarEmbalaje '$Codigo','$Tipo'";
        //$update="update embalajes set Tipo='$Tipo' where CodEmbalaje='$Codigo'";
        if (!odbc_exec($conexion,$update))
        {
            die('Error: ' . odbc_error());
        }
        odbc_close($conexion);
    }

    /*Función para Eliminar Embalajes*/
    function eliminarEmbalajeControlador($CodigoEmbalaje)
    {        
        require_once 'dataModelo.php';
        $conexion=conexion();
        $update="exec SP003EliminarEmbalajeControlador '$CodigoEmbalaje'";
        //$update="delete from Embalajes where CodEmbalaje ='$CodigoEmbalaje';";
        if (!odbc_exec($conexion,$update))
        {
            die('Error: ' . odbc_error());
        }
        odbc_close($conexion);
    }
    
    /*Función para Buscar Todos los Embalajes*/
    function buscarTodosLosEmbalajes()
    {
        require_once 'dataModelo.php';
        $conexion=conexion();
        $select="exec SP004BuscarTodosLosEmbalajes ";
        //$rs = odbc_exec($conexion, "SELECT CodEmbalaje,Tipo FROM embalajes");
        $rs = odbc_exec($conexion, $select);
        $items=Array();
        while (odbc_fetch_row($rs))
        {
            $item['CodEmbalaje']=odbc_result($rs,"CodEmbalaje");
            $item['Tipo']=odbc_result($rs,"Tipo");
            array_push($items,$item);
        }
        odbc_close($conexion);
        return $items;
    }              

    /*Función para Buscar Embalajes por codigo*/
    function encontrarEmbalaje($codigo)
    {
        require_once 'dataModelo.php';
        $conexion=conexion();
        $pcodig='';       
        $select="exec SP005EncontrarEmbalaje '$codigo'";
        //$rs = odbc_exec($conexion,  "SELECT CodEmbalaje,Tipo FROM embalajes where CodEmbalaje='".$codigo."'");
        $rs = odbc_exec($conexion,  $select);
        $items=Array();
        if (!$conexion) 
        {           
           exit( "Error al conectar: " . $conexion);
        }
        while (odbc_fetch_row($rs))
        {
            $pcodig=odbc_result($rs,"CodEmbalaje");
        }
        odbc_close($conexion);
        return $pcodig;
    }
    
     /*Función para obtener el nombre de un embalajes segun su codigo*/
    function encontrarNombreEmbalaje($codigo)
    {
        require_once 'dataModelo.php';
        $conexion=conexion();
        $nombre='';       
        $select="exec SP009EncontrarNombreEmbalaje '$codigo'";
        //$rs = odbc_exec($conexion,  "SELECT CodEmbalaje,Tipo FROM embalajes where CodEmbalaje='".$codigo."'");
        $rs = odbc_exec($conexion,  $select);
        $items=Array();
        if (!$conexion) 
        {           
           exit( "Error al conectar: " . $conexion);
        }
        while (odbc_fetch_row($rs))
        {
            $nombre=odbc_result($rs,"Tipo");
        }
        odbc_close($conexion);
        return $nombre;
    }
    
    /*Funcion para encontrar repetidos, retorna true si existe un registro con el mismo tipo de embalaje*/    
    /*Este metodo se modifico porque no sirve el odbc_num_rows para llamar los Stored Procedures*/
    function encontrarEmbalajeDuplicado($tipoEmbalaje)
    {        
        require_once 'dataModelo.php';
        $existe=false;
        $conexion=conexion();
        $select1="exec SP006EncontrarEmbalajeDuplicado '$tipoEmbalaje'";
        //$rs = odbc_exec($conexion,  "select tipo from embalajes where tipo='".$tipoEmbalaje."'");          
        $rs = odbc_exec($conexion,  $select1);
        if (!$conexion) 
        {           
           exit( "Error al conectar: " . $conexion);
        }                
        //se debe usar   odbc_fetch_row($rs)==true proque el odbc_num_rows devuelve -1 que es un error         
        $existe=odbc_fetch_row($rs);             
        odbc_close($conexion);
        return $existe;
    }

    /* Funcion para obtener si hay un registro de precios esta relacionado con un embalaje */
    function buscarEmbalajeXPrecio($codEmbalaje)
    {        
        require_once 'dataModelo.php';
        $conexion=conexion();
        $select="exec SP007BuscarEmbalajeXPrecio '$codEmbalaje'";
        //$rs = odbc_exec($conexion, "select top 1  Embalaje, Precio from Precios where Embalaje='" .$codEmbalaje."'");
        $rs = odbc_exec($conexion,  $select);
        $existe=false;
        $existe=odbc_fetch_row($rs);      
        odbc_close($conexion);
        return $existe;
    }
    
    /*Funcion para obtener el si un registro de linea esta relacionado con un embalaje*/
    function buscarEmbalajeXLinea($codEmbalaje)
    {        
        require_once 'dataModelo.php';
        $conexion=conexion();
        $select="exec SP008BuscarEmbalajeXLinea '$codEmbalaje'";
        //$rs = odbc_exec($conexion, "select top 1 Embalaje,CodGuia from Lineas where Embalaje='" .$codEmbalaje."'");
        $rs = odbc_exec($conexion,  $select);
        $existe=false;
        $existe=odbc_fetch_row($rs);      
        odbc_close($conexion);
        return $existe;
    }
   
    /*Funcion para obtener el siguiente codigo del embalaje*/
    function buscarCodSigEmbalajes()
    {
        require_once 'dataModelo.php';
        $conexion=conexion();
        $rs = odbc_exec($conexion, "select dbo.FUN004SigCodEmbalaje() as CodEmbSig");
        $items=Array();                   
        while (odbc_fetch_row($rs))
        {
            $item['CodEmbSig']=odbc_result($rs,"CodEmbSig");                                      
            array_push($items,$item);
        }
        odbc_close($conexion);
        return $items;
    }
?>